/*
 * IGroupService.java
 *
 * Copyright 2012 the original author or authors(ninglong).
 *
 * Licensed under the org.geek.group.service, Version 1.0 (the "License");
 *
 */
package org.geek.group.service;

import java.util.List;

import org.geek.common.entity.Criteria;
import org.geek.common.entity.Menu;
import org.geek.domain.Group;

/**
 * <p></p>
 * @author ninglong bhd2973@qq.com
 * @version V1.0
 */
public interface IGroupService {
	/**
	 * 当userId=0时查询所有的组，否则为当前用户所拥有的组
	 * @param userId
	 * @return 将用户组集合转换成可组成tree的对象menu
	 */
	List<Menu> getGroups2Menu(int userId);
	
	/**
	 * @param criteria 查询条件
	 * @return  根据条件得到用户组数量
	 */
	int countGroupByCriteria(Criteria criteria);
	
	/**
	 * @param criteria 查询条件
	 * @return 根据条件得到用户组
	 */
	List<Group> getGroupByCriteria(Criteria criteria);
	
	/**
	 * @param group 需要保存的用户组
	 * @return
	 */
	int modGroup(Group group);
	
	/**
	 * @param group 需要保存的用户组
	 * @return
	 */
	int addGroup(Group group);
	
	/**
	 * @param groupId 需要删除的用户组Id
	 * @return
	 */
	int delGroupByGroupId(int groupId);
}
